4.1 网络层原理概述

与前面所学的 2.1 应用层原理概述3.1 传输层原理概述 不同的是,网络层不仅存在于网络边缘的端系统之中,其同样存在于网络核心的路由器与交换机中。

网络层可以被分解为两个相互作用的部分,即 数据平面控制平面

网络层拓展了链路层所提供的端到端的数据传输,向传输层提供 主机到主机 的数据传输功能。为了实现这个服务,网络层需要实现两个功能:

关于分组交换机这一概念的区分

分组交换机 指的是一种通用交换设备,根据分组首部字段中的值,将分组从输入链路接口转移到输出链路接口。依据链路层帧中的字段做出转发决定的交换机被称作 链路层交换机,将在第六章学习。其余的分组交换机都被称作 路由器。在本章与 下一章 中我们当我们提到分组交换机时,一般指的也是路由器。

转发与路由是两个完全不同的概念,其对比可以见下表:

对比维度 转发(Forwarding) 路由选择(Routing)
核心功能 根据转发表(FIB表)将分组本地移动到输出链路接口 通过分布式算法(如OSPF/BGP)确定端到端路径
作用范围 单个路由器内部,独立操作 整个网络拓扑,需多路由器协同
时间尺度与硬件 纳秒级,由硬件(ASIC/TCAM) 高速处理 秒级,由路由选择处理机(软件) 计算
依赖数据结构 转发表(FIB表):精简字段(目的IP、下一跳、接口) 路由表(RIB表):含协议类型、优先级、开销等
更新机制 被动更新,随路由表变化同步 动态更新,响应网络变化(如链路故障)
网络层次 数据平面功能,处理实际数据传输 控制平面功能,处理逻辑与策略
输出结果 分组直接传递到下一跳 生成最优路径决策(如最小跳数/最低延迟)

每台路由器中有一个关键元素即为它的 转发表。路由器检查到达分组首部的一个或多个字段,并依据转发表将确定应将分组转发到哪一个输出端口。

转发表经由路由选择算法计算得到。在传统方式中,每一个路由器的控制平面单独运行路由选择算法并与其它路由器控制平面的实体通信,交换包含路由选择信息的报文,分布式地计算得出各个路由器的转发表,并交给下层的数据平面用于转发分组,如下图所示:

Pasted image 20250604212955.png

而在 软件定义网络(Software Defined Network,SDN) 中,运行在数据中心远程控制器上的网络操作系统与每个路由器通信,要求运行在路由器中的 控制代理(Control Agent) 报告网络的实时情况,并依据这些数据集中式地计算 流表,再通过 南向接口 分发给每台路由器使用。在 SDN 中,路由器也可以依据分组中的多种字段(例如链路层的 MAC 地址,传输层的端口号)进行多种行为,例如转发、阻止、泛洪、修改某些字段。因为网络操作系统是通过软件实现的,因此这种方式被叫做软件定义网络。SDN 方式下对网络核心的操作更加简单方便,可以快捷的将多种行为逻辑编程到网络设备上,见下图:

Pasted image 20250604212938.png

网络层向上层提供什么样的服务可以通过如下的指标描述:

异步传输(Asynchronous Transfer Mode,ATM) 网络为例,其提供了 有连接、保序、有最小带宽与最大延迟保证 的服务,见下表:

Pasted image 20250604213610.png

有连接与面向连接

前面反复提到 TCP 是面向连接的,是因为 TCP 连接状态仅仅保留在两个通信端系统的 TCP 程序中。主机之间的 IP 网络无法也不会知道这条连接的存在,它们只负责传输 IP 数据报。

然而在 ATM 网络中,网络核心的路由器与交换机同样也会维持网络连接的状态,因此被称作有连接的。

而对于用于互联网中的 IP 协议来说,其仅仅提供最低限度的传输服务,即 尽力而为服务。换言之,IP 不保证交付,不保证按序交付,不保证端到端时延与带宽。